package com.tarena.lbs.user.service;

import com.tarena.lbs.base.protocol.model.Result;
import com.tarena.lbs.base.protocol.pager.PageResult;
import com.tarena.lbs.user.pojo.param.UserTagsParam;
import com.tarena.lbs.user.pojo.query.AdminQuery;
import com.tarena.lbs.user.pojo.query.UserQuery;
import com.tarena.lbs.user.pojo.vo.UserVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.user.pojo.param.UserLoginParam;
import com.tarena.lbs.user.pojo.param.UserParam;
import com.tarena.lbs.user.pojo.vo.LoginVO;
import com.tarena.lbs.user.pojo.vo.UserVO;

import java.util.List;

@Service
public interface UserService {

    List<UserVO> list(UserQuery userQuery);

    LoginVO login(UserLoginParam param) throws BusinessException;

    UserVO detail(Integer id);

    void save(UserParam param) throws BusinessException;

    PageResult<UserVO> List(UserQuery userQuery);
}
